const COS = require('./cos-wx-sdk-v5.min.js');

const cos = new COS({
	SecretId: 'AKID77uTq2ELF0BE7oKejaDerzub4JUQ7bqq',
	SecretKey: 'oOktnTv89MPEsIVWIqAF5lEbjcHhsseC',
});

const item = {

	uploadFile: function(key, path, progress) {
		return new Promise((resolve, rej) => {
			// uni.showLoading({
			// 	title: '图片上传中',
			// 	mask: true
			// });
			cos.postObject({
				Bucket: 'yl-1346967611',
				Region: 'ap-beijing',
				Key: key,

				FilePath: path, // wx.chooseImage 选择文件得到的 tmpFilePath
				onProgress: function(progressData) {
					if (progress) {
						progress(progressData);
					}
				}
			}, function(err, data) {
				uni.hideLoading();
				if (err) {
					uni.showToast({
						title: "上传图片失败",
						icon: 'none',
						duration: 2000
					});
					rej(err);
				} else {
					resolve(data);
				}

			});
		});
	},
	saveFile: function(tempFilePath) {
		return new Promise((res, rej) => {
			uni.saveFile({
				tempFilePath,
				success: function(data) {
					res(data);
				}
			});
		});
	},
	checkUploadFile: function(filepath, filename, dir, progress) {
		if (!dir) {
			dir = "clientheadimg";
		}

		return new Promise((rev, rej) => {
			if (filepath.startsWith("http:") || filepath.startsWith("wxfile:")) {
				let fileexname = filepath.split(".")[1];
				let key = dir + "/" + filename + "." + fileexname;
				item.uploadFile(key, filepath, progress).then(res => {
					console.log(key);

					// cos.putObject({
					// 		Bucket: 'yl-1346967611', // Bucket 格式：test-1250000000，必填
					// 		Region: 'ap-beijing', // Bucket所在地域，比如ap-beijing，必填
					// 		Key: key, // 存储在桶里的对象键（例如1.jpg，a/b/test.txt），必填
					// 		Headers: {
					// 			// 通过 imageMogr2 接口使用图片缩放功能：指定图片宽度为 200，宽度等比压缩
					// 			'Pic-Operations': JSON.stringify({
					// 				is_pic_info: 1, // 固定值
					// 				// fileid 设置和Key相同可实现上传后只保留处理后的图片而不保留原图
					// 				// fileid 如果设置中文，需要经过URLEncode，比如 fileid: encodeURIComponent('图片.jpg')
					// 				rules: [{
					// 					fileid: key,
					// 					rule: "imageMogr2/format/jpg"
					// 				}],
					// 			}),
					// 		},
					// 	},
					// 	(err, aa) => {
					// 		console.log(err || aa);
					// 	},
					// );



					rev({
						url: "https://" + res.Location,
						key,
					});
				}).catch(err => {
					rev(filepath);
				});
			} else {
				rev(filepath);
			}
		});
	},

};

export default item;